import { observer } from "./observer/index"

export function  initState(vm) {
  const opts = vm.$options

  if (opts.props) {
    initProps(vm)
  }

  if (opts.data) {
    initData(vm)
  }

  if (opts.methods) {
    initMethods(vm)
  }

  if (opts.computed) {
    initComputed(vm)
  }

  if (opts.watch) {
    innitWatch(vm)
  }

}

function initProps(vm) {
  
}

function initData(vm) {
  let data = vm.$options.data
  vm._data = data = typeof data == 'function'? data.call(vm):data
  observer(data)
}

function initMethods(vm) {
  
}

function initComputed(vm) {
  
}

function initWatch(params) {
  
}